#!/usr/bin/python


class BaseConfigurationException(Exception):
    """
    Class      : ConfigurationException
    Description: A Base Exception which infered for Configuration Exception
    """


class ConfigurationFileNotFound(BaseConfigurationException):
    """
    Class       : ConfigurationFileNotFound
    Description : Exceptiion which infered Configuration File Not Found
    """


class ConfigurationFileParserError(BaseConfigurationException):
    """
    Class       : ConfigurationFileParserError
    Description : Exception which infered Configuration File Parser Error
    """

class ConfigurationFileSectionError(BaseConfigurationException):
    """
    Class       : ConfigurationFileSectionError
    Description : Exception which infered Configuration File Section Error
    """


class ConfigurationFileKeyError(BaseConfigurationException):
    """
    Class       : ConfigurationFileKeyError
    Description : Exception which infered Configuration File Key Error
    """


class ConfigurationFileValueError(BaseConfigurationException):
    """
    Class       : ConfigurationFileValueError
    Description : Exception which infered Configuration File Value Error
    """


class DatabaseException(Exception):
    """
    Class       : DataBaseException
    Description : database exception
    """

class ModuleNotFoundException(Exception):
    """
    Class       : ModuleNotFoundException
    Description : Exception which infered module not found
    """


class ClassNotFoundException(Exception):
    """
    Class       : ClassNotFoundException
    Description : Exception which infered class not found
    """

if __name__ == "__main__":
    try:
        raise ConfigurationFileNotFound("file not found error on this file line")
    except ConfigurationFileNotFound,e:
        print (str(e))
        print ("raise file not found exception")
